package NO14;

public class ReOrderArray {
	public static void reOrderArray(int[] array){
        //创建一个新的同样长度的数组
        int[] newArray = new int[array.length];
        
        //count是用来计算数组中奇数的个数
        int count = 0;
        
        for(int i=0;i<array.length;i++){
            if(array[i]%2==1){
                count++;
            }
        }
        
        //开始将元素按照规则放进新的数组中去
        int oddBegin=0;
        for(int i=0;i<array.length;i++){
        	if((array[i]&1)==1) {
        		newArray[oddBegin++]=array[i];
        	}else{
        		newArray[count++]=array[i];
			}
        }
        
        
        //将原数组替换掉
        for(int k=0;k<array.length;k++){
            array[k] = newArray[k];
        }
	}
	
    /**
     * 输出数组的信息
     *
     * @param arr 待输出数组
     */
    public static void printArray(int[] arr) {
        if (arr != null && arr.length > 0) {
            for (int i : arr) {
                System.out.print(i + " ");
            }
            System.out.println();
        }
    }
	
	public static void main(String[] args) {
		 int[] array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
		 reOrderArray(array);
	     printArray(array);
	}
}
